
# 面向对象 : 变量
"""
在类中，变量包括 ： 类变量 ，实例变量 ，局部变量

# 1. 类变量
定义位置 ： 它是定义在类内，方法外的变量就是类变量。 product ,version 叫类变量 。
定义 ： 变量名 = 值
调用 ：
    对象名.变量名
    类名.变量名
作用范围 ：整个类 ，它的作用范围是最大的
使用场景 ：定义此类的公共数据

# 2. 实例变量
位置 ：定义在方法内部，专门是给对象使用的变量 。
定义 ： self.变量名 = 值
调用 ： self.变量名
作用范围 ： 针对声明的对象，能在各个方法中使用

# 3. 局部变量
位置 ： 定义在方法内 ，主要是给方法以及其代码块所使用的
定义 ： 变量名 = 值
调用 ： 变量名
作用范围 ： 此方法内或者此语句块内
使用场景 ： 给某个方法或者语句块使用
"""


class Bugs():

    # 定义类变量
    bug_type = ['功能问题','性能问题','兼容性问题',"易用性问题"]
    # project = 'tpshop_front'
    bug_level = [1,2,3,4]

    # 构造方法
    def __init__(self,project):

        # 实例变量
        self.project = project
        print("项目名:",self.project)
        print("===这是一个初始化方法===")

    def create_bug(self):
        # 在此方法中访问search_bug这个方法
        print("在创建bug中调用项目:{}".format(self.project))

    def update_bug(self):
        pass

    def delete_bug(self):
        pass

    def search_bug(self,title):
        print("self:{}".format(self))

        # 局部变量
        db_bugs = [
            {'bug_id': 1, 'bug_title': '学生列表页使用学生名称进行搜索 结果不正确', 'bug_project': self.project, 'version': 1.0},
            {'bug_id': 2, 'bug_title': '和方法开始减肥盛世嫡妃', 'bug_project': 'tpshop', 'version': 1.0},
            {'bug_id': 3, 'bug_title': '导出的数据中字段(执勤单位)数据显示错误', 'bug_project': 'wx', 'version': 1.0},
            {'bug_id': 4, 'bug_title': '学生列表sdfsdfsdfsdfsdf', 'bug_project': 'wx', 'version': 1.0},
            {'bug_id': 5, 'bug_title': '学员列表页按照学生名称进行搜索 结果不正确', 'bug_project': 'tpshop', 'version': 1.0}
        ]
        lst = []
        for bug in db_bugs:
            x = 'hello world'
            bug_title = bug.get('bug_title')
            if title in bug_title:
                lst.append(bug)
            print(x)
        print(x)
        return lst




bug1 = Bugs('tpshop_front')     # 代表bug1是tpshop_front下的bug

# 调用创建bug
bug1.create_bug()

